/**
 * @file
 * @brief GD32FmwLib：中断向量表
 * @author
 * + 隐星魂 (Roy Sun) <xwos@xwos.tech>
 * @copyright
 * + Copyright © 2015 xwos.tech, All Rights Reserved.
 * > Licensed under the Apache License, Version 2.0 (the "License");
 * > you may not use this file except in compliance with the License.
 * > You may obtain a copy of the License at
 * >
 * >         http://www.apache.org/licenses/LICENSE-2.0
 * >
 * > Unless required by applicable law or agreed to in writing, software
 * > distributed under the License is distributed on an "AS IS" BASIS,
 * > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * > See the License for the specific language governing permissions and
 * > limitations under the License.
 */

#include "../GD32FmwLib/std.h"
#include <xwos/ospl/irq.h>
#include <xwos/ospl/syshwt.h>
#include <xwos/ospl/skd.h>
#include "../GD32FmwLib/ivt.h"
#include "../GD32FmwLib/SDK/CMSIS/GD/GD32F10x/Include/gd32f10x.h"

void GD32FMWLIB_NOOP_IRQHandler(void)
{
        while (true) {
        }
}

extern xwstk_t armv7m_isr_stack_top[];
void WWDGT_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void LVD_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TAMPER_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void RTC_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void FMC_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void RCU_CTC_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXTI0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXTI1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXTI2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXTI3_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXTI4_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA0_Channel0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA0_Channel1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA0_Channel2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA0_Channel3_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA0_Channel4_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA0_Channel5_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA0_Channel6_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void ADC0_1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");

#ifdef GD32F10X_MD
void USBD_HP_CAN0_TX_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USBD_LP_CAN0_RX0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void CAN0_RX1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void CAN0_EWMC_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXTI5_9_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_BRK_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_UP_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_TRG_CMT_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_Channel_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER3_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C0_EV_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C0_ER_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C1_EV_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C1_ER_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void SPI0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void SPI1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USART0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USART1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USART2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXTI10_15_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void RTC_Alarm_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USBD_WKUP_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXMC_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
#endif /* GD32F10X_MD */

#ifdef GD32F10X_HD
void USBD_HP_CAN0_TX_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USBD_LP_CAN0_RX0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void CAN0_RX1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void CAN0_EWMC_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXTI5_9_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_BRK_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_UP_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_TRG_CMT_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_Channel_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER3_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C0_EV_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C0_ER_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C1_EV_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C1_ER_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void SPI0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void SPI1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USART0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USART1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USART2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXTI10_15_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void RTC_Alarm_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USBD_WKUP_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER7_BRK_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER7_UP_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER7_TRG_CMT_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER7_Channel_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void ADC2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXMC_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void SDIO_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER4_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void SPI2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void UART3_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void UART4_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER5_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER6_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA1_Channel0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA1_Channel1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA1_Channel2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA1_Channel3_Channel4_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
#endif /* GD32F10X_HD */

#ifdef GD32F10X_XD
void USBD_HP_CAN0_TX_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USBD_LP_CAN0_RX0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void CAN0_RX1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void CAN0_EWMC_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXTI5_9_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_BRK_TIMER8_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_UP_TIMER9_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_TRG_CMT_TIMER10_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_Channel_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER3_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C0_EV_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C0_ER_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C1_EV_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C1_ER_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void SPI0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void SPI1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USART0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USART1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USART2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXTI10_15_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void RTC_Alarm_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USBD_WKUP_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER7_BRK_TIMER11_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER7_UP_TIMER12_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER7_TRG_CMT_TIMER13_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER7_Channel_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void ADC2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXMC_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void SDIO_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER4_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void SPI2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void UART3_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void UART4_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER5_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER6_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA1_Channel0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA1_Channel1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA1_Channel2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA1_Channel3_Channel4_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
#endif /* GD32F10X_XD */

#ifdef GD32F10X_CL
void CAN0_TX_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void CAN0_RX0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void CAN0_RX1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void CAN0_EWMC_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXTI5_9_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_BRK_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_UP_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_TRG_CMT_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER0_Channel_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER3_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C0_EV_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C0_ER_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C1_EV_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void I2C1_ER_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void SPI0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void SPI1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USART0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USART1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USART2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXTI10_15_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void RTC_ALARM_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USBFS_WKUP_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER7_BRK_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER7_UP_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER7_TRG_CMT_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER7_Channel_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void EXMC_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER4_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void SPI2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void UART3_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void UART4_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER5_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void TIMER6_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA1_Channel0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA1_Channel1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA1_Channel2_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA1_Channel3_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void DMA1_Channel4_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void ENET_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void ENET_WKUP_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void CAN1_TX_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void CAN1_RX0_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void CAN1_RX1_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void CAN1_EWMC_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
void USBFS_IRQHandler(void) __xwcc_weakalias("GD32FMWLIB_NOOP_IRQHandler");
#endif /* GD32F10X_CL */

__xwcc_section(".armv7m.ivt") struct soc_ivt gd32_ivt = {
        .exc = {
                [SOC_SP_TOP + SOCCFG_EXC_NUM] = (xwisr_f)armv7m_isr_stack_top,
                [SOC_EXC_RESET + SOCCFG_EXC_NUM] = (xwisr_f)arch_isr_reset,
                [SOC_EXC_NMI + SOCCFG_EXC_NUM] = arch_isr_nmi,
                [SOC_EXC_HARDFAULT + SOCCFG_EXC_NUM] = arch_isr_hardfault,
                [SOC_EXC_MMFAULT + SOCCFG_EXC_NUM] = arch_isr_mm,
                [SOC_EXC_BUSFAULT + SOCCFG_EXC_NUM] = arch_isr_busfault,
                [SOC_EXC_USGFAULT + SOCCFG_EXC_NUM] = arch_isr_usagefault,
                [SOC_EXC_RSVN9 + SOCCFG_EXC_NUM] = arch_isr_noop,
                [SOC_EXC_RSVN8 + SOCCFG_EXC_NUM] = arch_isr_noop,
                [SOC_EXC_RSVN7 + SOCCFG_EXC_NUM] = arch_isr_noop,
                [SOC_EXC_RSVN6 + SOCCFG_EXC_NUM] = arch_isr_noop,
                [SOC_EXC_SVCALL + SOCCFG_EXC_NUM] = (xwisr_f)arch_isr_svc,
                [SOC_EXC_DBGMON + SOCCFG_EXC_NUM] = arch_isr_dbgmon,
                [SOC_EXC_RSVN3 + SOCCFG_EXC_NUM] = arch_isr_noop,
                [SOC_EXC_PENDSV + SOCCFG_EXC_NUM] = xwospl_skd_isr_swcx,
                [SOC_EXC_SYSTICK + SOCCFG_EXC_NUM] = xwospl_syshwt_isr,
        },
        .irq = {
                [WWDGT_IRQn] = WWDGT_IRQHandler,
                [LVD_IRQn] = LVD_IRQHandler,
                [TAMPER_IRQn] = TAMPER_IRQHandler,
                [RTC_IRQn] = RTC_IRQHandler,
                [FMC_IRQn] = FMC_IRQHandler,
                [RCU_CTC_IRQn] = RCU_CTC_IRQHandler,
                [EXTI0_IRQn] = EXTI0_IRQHandler,
                [EXTI1_IRQn] = EXTI1_IRQHandler,
                [EXTI2_IRQn] = EXTI2_IRQHandler,
                [EXTI3_IRQn] = EXTI3_IRQHandler,
                [EXTI4_IRQn] = EXTI4_IRQHandler,
                [DMA0_Channel0_IRQn] = DMA0_Channel0_IRQHandler,
                [DMA0_Channel1_IRQn] = DMA0_Channel1_IRQHandler,
                [DMA0_Channel2_IRQn] = DMA0_Channel2_IRQHandler,
                [DMA0_Channel3_IRQn] = DMA0_Channel3_IRQHandler,
                [DMA0_Channel4_IRQn] = DMA0_Channel4_IRQHandler,
                [DMA0_Channel5_IRQn] = DMA0_Channel5_IRQHandler,
                [DMA0_Channel6_IRQn] = DMA0_Channel6_IRQHandler,
                [ADC0_1_IRQn] = ADC0_1_IRQHandler,

#ifdef GD32F10X_MD
                [USBD_HP_CAN0_TX_IRQn] = USBD_HP_CAN0_TX_IRQHandler,
                [USBD_LP_CAN0_RX0_IRQn] = USBD_LP_CAN0_RX0_IRQHandler,
                [CAN0_RX1_IRQn] = CAN0_RX1_IRQHandler,
                [CAN0_EWMC_IRQn] = CAN0_EWMC_IRQHandler,
                [EXTI5_9_IRQn] = EXTI5_9_IRQHandler,
                [TIMER0_BRK_IRQn] = TIMER0_BRK_IRQHandler,
                [TIMER0_UP_IRQn] = TIMER0_UP_IRQHandler,
                [TIMER0_TRG_CMT_IRQn] = TIMER0_TRG_CMT_IRQHandler,
                [TIMER0_Channel_IRQn] = TIMER0_Channel_IRQHandler,
                [TIMER1_IRQn] = TIMER1_IRQHandler,
                [TIMER2_IRQn] = TIMER2_IRQHandler,
                [TIMER3_IRQn] = TIMER3_IRQHandler,
                [I2C0_EV_IRQn] = I2C0_EV_IRQHandler,
                [I2C0_ER_IRQn] = I2C0_ER_IRQHandler,
                [I2C1_EV_IRQn] = I2C1_EV_IRQHandler,
                [I2C1_ER_IRQn] = I2C1_ER_IRQHandler,
                [SPI0_IRQn] = SPI0_IRQHandler,
                [SPI1_IRQn] = SPI1_IRQHandler,
                [USART0_IRQn] = USART0_IRQHandler,
                [USART1_IRQn] = USART1_IRQHandler,
                [USART2_IRQn] = USART2_IRQHandler,
                [EXTI10_15_IRQn] = EXTI10_15_IRQHandler,
                [RTC_Alarm_IRQn] = RTC_Alarm_IRQHandler,
                [USBD_WKUP_IRQn] = USBD_WKUP_IRQHandler,
                [EXMC_IRQn] = EXMC_IRQHandler,
#endif /* GD32F10X_MD */

#ifdef GD32F10X_HD
                [USBD_HP_CAN0_TX_IRQn] = USBD_HP_CAN0_TX_IRQHandler,
                [USBD_LP_CAN0_RX0_IRQn] = USBD_LP_CAN0_RX0_IRQHandler,
                [CAN0_RX1_IRQn] = CAN0_RX1_IRQHandler,
                [CAN0_EWMC_IRQn] = CAN0_EWMC_IRQHandler,
                [EXTI5_9_IRQn] = EXTI5_9_IRQHandler,
                [TIMER0_BRK_IRQn] = TIMER0_BRK_IRQHandler,
                [TIMER0_UP_IRQn] = TIMER0_UP_IRQHandler,
                [TIMER0_TRG_CMT_IRQn] = TIMER0_TRG_CMT_IRQHandler,
                [TIMER0_Channel_IRQn] = TIMER0_Channel_IRQHandler,
                [TIMER1_IRQn] = TIMER1_IRQHandler,
                [TIMER2_IRQn] = TIMER2_IRQHandler,
                [TIMER3_IRQn] = TIMER3_IRQHandler,
                [I2C0_EV_IRQn] = I2C0_EV_IRQHandler,
                [I2C0_ER_IRQn] = I2C0_ER_IRQHandler,
                [I2C1_EV_IRQn] = I2C1_EV_IRQHandler,
                [I2C1_ER_IRQn] = I2C1_ER_IRQHandler,
                [SPI0_IRQn] = SPI0_IRQHandler,
                [SPI1_IRQn] = SPI1_IRQHandler,
                [USART0_IRQn] = USART0_IRQHandler,
                [USART1_IRQn] = USART1_IRQHandler,
                [USART2_IRQn] = USART2_IRQHandler,
                [EXTI10_15_IRQn] = EXTI10_15_IRQHandler,
                [RTC_Alarm_IRQn] = RTC_Alarm_IRQHandler,
                [USBD_WKUP_IRQn] = USBD_WKUP_IRQHandler,
                [TIMER7_BRK_IRQn] = TIMER7_BRK_IRQHandler,
                [TIMER7_UP_IRQn] = TIMER7_UP_IRQHandler,
                [TIMER7_TRG_CMT_IRQn] = TIMER7_TRG_CMT_IRQHandler,
                [TIMER7_Channel_IRQn] = TIMER7_Channel_IRQHandler,
                [ADC2_IRQn] = ADC2_IRQHandler,
                [EXMC_IRQn] = EXMC_IRQHandler,
                [SDIO_IRQn] = SDIO_IRQHandler,
                [TIMER4_IRQn] = TIMER4_IRQHandler,
                [SPI2_IRQn] = SPI2_IRQHandler,
                [UART3_IRQn] = UART3_IRQHandler,
                [UART4_IRQn] = UART4_IRQHandler,
                [TIMER5_IRQn] = TIMER5_IRQHandler,
                [TIMER6_IRQn] = TIMER6_IRQHandler,
                [DMA1_Channel0_IRQn] = DMA1_Channel0_IRQHandler,
                [DMA1_Channel1_IRQn] = DMA1_Channel1_IRQHandler,
                [DMA1_Channel2_IRQn] = DMA1_Channel2_IRQHandler,
                [DMA1_Channel3_Channel4_IRQn] = DMA1_Channel3_Channel4_IRQHandler,
#endif /* GD32F10X_HD */

#ifdef GD32F10X_XD
                [USBD_HP_CAN0_TX_IRQn] = USBD_HP_CAN0_TX_IRQHandler,
                [USBD_LP_CAN0_RX0_IRQn] = USBD_LP_CAN0_RX0_IRQHandler,
                [CAN0_RX1_IRQn] = CAN0_RX1_IRQHandler,
                [CAN0_EWMC_IRQn] = CAN0_EWMC_IRQHandler,
                [EXTI5_9_IRQn] = EXTI5_9_IRQHandler,
                [TIMER0_BRK_TIMER8_IRQn] = TIMER0_BRK_TIMER8_IRQHandler,
                [TIMER0_UP_TIMER9_IRQn] = TIMER0_UP_TIMER9_IRQHandler,
                [TIMER0_TRG_CMT_TIMER10_IRQn] = TIMER0_TRG_CMT_TIMER10_IRQHandler,
                [TIMER0_Channel_IRQn] = TIMER0_Channel_IRQHandler,
                [TIMER1_IRQn] = TIMER1_IRQHandler,
                [TIMER2_IRQn] = TIMER2_IRQHandler,
                [TIMER3_IRQn] = TIMER3_IRQHandler,
                [I2C0_EV_IRQn] = I2C0_EV_IRQHandler,
                [I2C0_ER_IRQn] = I2C0_ER_IRQHandler,
                [I2C1_EV_IRQn] = I2C1_EV_IRQHandler,
                [I2C1_ER_IRQn] = I2C1_ER_IRQHandler,
                [SPI0_IRQn] = SPI0_IRQHandler,
                [SPI1_IRQn] = SPI1_IRQHandler,
                [USART0_IRQn] = USART0_IRQHandler,
                [USART1_IRQn] = USART1_IRQHandler,
                [USART2_IRQn] = USART2_IRQHandler,
                [EXTI10_15_IRQn] = EXTI10_15_IRQHandler,
                [RTC_Alarm_IRQn] = RTC_Alarm_IRQHandler,
                [USBD_WKUP_IRQn] = USBD_WKUP_IRQHandler,
                [TIMER7_BRK_TIMER11_IRQn] = TIMER7_BRK_TIMER11_IRQHandler,
                [TIMER7_UP_TIMER12_IRQn] = TIMER7_UP_TIMER12_IRQHandler,
                [TIMER7_TRG_CMT_TIMER13_IRQn] = TIMER7_TRG_CMT_TIMER13_IRQHandler,
                [TIMER7_Channel_IRQn] = TIMER7_Channel_IRQHandler,
                [ADC2_IRQn] = ADC2_IRQHandler,
                [EXMC_IRQn] = EXMC_IRQHandler,
                [SDIO_IRQn] = SDIO_IRQHandler,
                [TIMER4_IRQn] = TIMER4_IRQHandler,
                [SPI2_IRQn] = SPI2_IRQHandler,
                [UART3_IRQn] = UART3_IRQHandler,
                [UART4_IRQn] = UART4_IRQHandler,
                [TIMER5_IRQn] = TIMER5_IRQHandler,
                [TIMER6_IRQn] = TIMER6_IRQHandler,
                [DMA1_Channel0_IRQn] = DMA1_Channel0_IRQHandler,
                [DMA1_Channel1_IRQn] = DMA1_Channel1_IRQHandler,
                [DMA1_Channel2_IRQn] = DMA1_Channel2_IRQHandler,
                [DMA1_Channel3_Channel4_IRQn] = DMA1_Channel3_Channel4_IRQHandler,
#endif /* GD32F10X_XD */

#ifdef GD32F10X_CL
                [CAN0_TX_IRQn] = CAN0_TX_IRQHandler,
                [CAN0_RX0_IRQn] = CAN0_RX0_IRQHandler,
                [CAN0_RX1_IRQn] = CAN0_RX1_IRQHandler,
                [CAN0_EWMC_IRQn] = CAN0_EWMC_IRQHandler,
                [EXTI5_9_IRQn] = EXTI5_9_IRQHandler,
                [TIMER0_BRK_IRQn] = TIMER0_BRK_IRQHandler,
                [TIMER0_UP_IRQn] = TIMER0_UP_IRQHandler,
                [TIMER0_TRG_CMT_IRQn] = TIMER0_TRG_CMT_IRQHandler,
                [TIMER0_Channel_IRQn] = TIMER0_Channel_IRQHandler,
                [TIMER1_IRQn] = TIMER1_IRQHandler,
                [TIMER2_IRQn] = TIMER2_IRQHandler,
                [TIMER3_IRQn] = TIMER3_IRQHandler,
                [I2C0_EV_IRQn] = I2C0_EV_IRQHandler,
                [I2C0_ER_IRQn] = I2C0_ER_IRQHandler,
                [I2C1_EV_IRQn] = I2C1_EV_IRQHandler,
                [I2C1_ER_IRQn] = I2C1_ER_IRQHandler,
                [SPI0_IRQn] = SPI0_IRQHandler,
                [SPI1_IRQn] = SPI1_IRQHandler,
                [USART0_IRQn] = USART0_IRQHandler,
                [USART1_IRQn] = USART1_IRQHandler,
                [USART2_IRQn] = USART2_IRQHandler,
                [EXTI10_15_IRQn] = EXTI10_15_IRQHandler,
                [RTC_ALARM_IRQn] = RTC_ALARM_IRQHandler,
                [USBFS_WKUP_IRQn] = USBFS_WKUP_IRQHandler,
                [TIMER7_BRK_IRQn] = TIMER7_BRK_IRQHandler,
                [TIMER7_UP_IRQn] = TIMER7_UP_IRQHandler,
                [TIMER7_TRG_CMT_IRQn] = TIMER7_TRG_CMT_IRQHandler,
                [TIMER7_Channel_IRQn] = TIMER7_Channel_IRQHandler,
                [EXMC_IRQn] = EXMC_IRQHandler,
                [TIMER4_IRQn] = TIMER4_IRQHandler,
                [SPI2_IRQn] = SPI2_IRQHandler,
                [UART3_IRQn] = UART3_IRQHandler,
                [UART4_IRQn] = UART4_IRQHandler,
                [TIMER5_IRQn] = TIMER5_IRQHandler,
                [TIMER6_IRQn] = TIMER6_IRQHandler,
                [DMA1_Channel0_IRQn] = DMA1_Channel0_IRQHandler,
                [DMA1_Channel1_IRQn] = DMA1_Channel1_IRQHandler,
                [DMA1_Channel2_IRQn] = DMA1_Channel2_IRQHandler,
                [DMA1_Channel3_IRQn] = DMA1_Channel3_IRQHandler,
                [DMA1_Channel4_IRQn] = DMA1_Channel4_IRQHandler,
                [ENET_IRQn] = ENET_IRQHandler,
                [ENET_WKUP_IRQn] = ENET_WKUP_IRQHandler,
                [CAN1_TX_IRQn] = CAN1_TX_IRQHandler,
                [CAN1_RX0_IRQn] = CAN1_RX0_IRQHandler,
                [CAN1_RX1_IRQn] = CAN1_RX1_IRQHandler,
                [CAN1_EWMC_IRQn] = CAN1_EWMC_IRQHandler,
                [USBFS_IRQn] = USBFS_IRQHandler,
#endif /* GD32F10X_CL */
        },
};
